﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using CommunitySystemModel;

namespace CommunitySystem.Web.Service
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码和配置文件中的接口名“IJinShengService”。
    [ServiceContract]
    public interface IJinShengService
    {
        [OperationContract]
        ObservableCollection<Emp_BasicInfoModel> GetEmpBasicInfoAccordingToMianShi(int year, int id, string name);

        [OperationContract]
        ObservableCollection<JinShen_MainInfo> GetJinShen_MainInfo(string condition, string LoginUser);
      
        [OperationContract]
        ObservableCollection<JinShenMHelp> GetJinShen_MainInfos(string condition, string LoginUser);

        [OperationContract]
        void SaveJinShenMainInfo(JinShen_MainInfo entity);

         [OperationContract]
        void SaveJinShenMainInfos(ObservableCollection<JinShen_MainInfo> JinShen_MainInfos,int edit=0,JinShen_MainInfo_Attatchment att=null);
         
        [OperationContract]
         int SaveJinShenMainInfos1(ObservableCollection<JinShen_MainInfo> JinShen_MainInfos, int edit=0,JinShen_MainInfo_Attatchment att=null, ObservableCollection<JinShen_MainInfo_Attatchment> atts=null);

        [OperationContract]
        bool UploadFile1(int Mid, string key, string filename, byte[] content, string realname);
        
        [OperationContract]
         bool ComfirmJinShens(ObservableCollection<JinShen_MainInfo> JinShen_MainInfos, string Stauts);
         [OperationContract]
         ObservableCollection<JinShenMHelp> SaveJinShenMainInfosStatus(ObservableCollection<JinShen_MainInfo> JinShen_MainInfos, string status, int Mid, string LoginUser);
          [OperationContract]
         JinShen_XuanJu SaveJinShen_XuanJu(JinShen_XuanJu xuanju,bool isGet);
        [OperationContract]
        void DeleteJinShenMainInfo(JinShen_MainInfo entity);
        [OperationContract]
        void DeleteJinShenMainInfos(JinShenMHelp entity);

        [OperationContract]
        void SaveJinShenDetail(JinShen_DetailInfo entity);

        [OperationContract]
        ObservableCollection<Emp_BasicInfoModel> GetEmpBasicInfo(string condition);
           [OperationContract]
        ObservableCollection<Emp_BasicInfoModel> GetEmpBasicInfo_zj(string condition, int orgid);
        [OperationContract]
        ObservableCollection<JinShen_MainInfo_Check> GetMainInfo_Check(string condition);

        [OperationContract]
        bool SaveMainInfo_Check(JinShen_MainInfo_Check entity);

        [OperationContract]
        ObservableCollection<JinShen_CompetSpeech_Main> GetCompetSpeechMain(string condition);

        [OperationContract]
        bool SaveJinShen_CompetSpeech_Main(JinShen_CompetSpeech_Main entity);

        [OperationContract]
        ObservableCollection<JinShen_Democraticevaluation_Main> GetDemocraEvalution(string condition);

        [OperationContract]
        bool SaveJinShen_Democraticevaluation_Main(JinShen_Democraticevaluation_Main entity);

        [OperationContract]
        bool SaveDetailCheck(JinShen_Democraticevaluation_Main evaMain, JinShen_CompetSpeech_Main speechMain, JinShen_MainInfo main);

        [OperationContract]
        string GetOrgForHR(string loginUser);

        [OperationContract]
        bool SaveJinShen_ChooseCandidator_Main(JinShen_ChooseCandidator_Main entity);

        [OperationContract]
        ObservableCollection<JinShen_ChooseCandidator_Main> GetJinShen_ChooseCandidator_Main(string condition);

        [OperationContract]
        void SaveJinShen_KaoCha_Detail(JinShen_KaoCha_Detail[] details);

        [OperationContract]
        ObservableCollection<JinShen_KaoCha_Detail> GetJinShen_KaoCha_Detail(string condition);

        [OperationContract]
        void SaveJinShen_DangGongWei_Detail(JinShen_DangGongWei_Detail[] details);

        [OperationContract]
        ObservableCollection<JinShen_DangGongWei_Detail> GetJinShen_DangGongWei_Detail(string condition);

        [OperationContract]
        void SaveJinShen_PublicShow_Detail(JinShen_PublicShow_Detail[] details);
        [OperationContract]
        void SaveJinShen_OKRenM_Detail(JinShen_OKRenM_Detail[] details);

        [OperationContract]
        ObservableCollection<JinShen_PublicShow_Detail> GetJinShen_PublicShow_Detail(string condition);
        [OperationContract]
        ObservableCollection<JinShen_OKRenM_Detail> GetJinJinShen_OKRenM_Detail(string condition);
        [OperationContract]
        ObservableCollection<Emp_BasicInfoModel> GetEmpBasicInfoAccordingToDuty(string condition);

        [OperationContract]
        ObservableCollection<Emp_BasicInfoModel> GetEmpBasicInfoAccordingToDuty_ZJ(string condition,int orgid);


        [OperationContract]
        string DownLoadFile(string key, string GuidName, string RealName);

        [OperationContract]
        bool ComfirmJinShen(int MainInfoID, string Stauts);
        [OperationContract]
        int UpdateJinShenMStatus(int Mid, string status);

        [OperationContract]
        byte[] ZDYExcel(int OrgId);


        [OperationContract]
        byte[] DownLoadFile1(string Con);


        #region 准考证
        [OperationContract]
        void SaveZKZInfo(ZKZInfo entity, bool NewZYSX, string SelEmpIDs,int ExameID);

        [OperationContract]
        ObservableCollection<ZKZZYSXInfo> GetZKZZYSXInfo(string con);

        [OperationContract]
        ObservableCollection<ZKZEmpInfo> GetZKZEmpInfo(string con);
         [OperationContract]
        ObservableCollection<ZKZEmpInfo> GetZKZEmpInfoByPage(string con, int start, int pagesize);
         [OperationContract]
        int GetZKZEmpInfoCount(string con);

         [OperationContract]
         void FBEmpZKZ(string con, string status);

         [OperationContract]
        byte[] DownLoadPhoto(string Con);
        #endregion

         [OperationContract]
         int GetEmpInfo(string con);
         [OperationContract]
         string ExportZKZ(object missingValue, dynamic wordApplication, dynamic doc, string name);

         [OperationContract]
         void SaveBMFBInfo(BMFBInfo entity, string con);
         [OperationContract]
         ObservableCollection<BMFBInfo> GetBMFBInfo(string con);


         [OperationContract]
         ObservableCollection<JinShen_SHJLDetail> GetJinShen_SHJLDetail(string con);
         [OperationContract]
         void AddJinShen_SHJLDetail(JinShen_SHJLDetail model,JinShen_MainInfo jsModel);
         [OperationContract]
         ObservableCollection<JinShenMHelp> GetJinShen_MainInfosByCon(string condition, string LoginUser, int start, int pagesize);

         [OperationContract]
         int GetJinShen_MainInfosByCount(string condition, string LoginUser);

         [OperationContract]
         JinShen_MainInfoLSJL GetJinShen_MainInfoLSJL(string con);
         [OperationContract]
         void AddSystemInfo(SystemInfo sysinfo);
         [OperationContract]
         bool DeleJS(int id);

        #region 系统消息
         [OperationContract]
         ObservableCollection<SystemInfo> GetSystemInfo(string conn,int start, int pagesize);
        [OperationContract]
         int GetSystemInfoByCount(string conn);
         [OperationContract]
        void UpdateSystemInfoByCount(string conn);
        #endregion

         #region  处级晋升
         [OperationContract]
         bool SaveJY(Emp_CJJS entity, bool isAdd);
         [OperationContract]
         bool JYDel(Emp_CJJS entity);
         [OperationContract]
         ObservableCollection<Emp_CJJS> GetJY(string con, int index, int pagesize);
         [OperationContract]
         int GetJYCount(string con);
        #endregion

    }
}
